Random noise is used advantageously in a variety of applications, such as in exciting electrical or mechanical systems under test. In such applications, the system's response to the noise stimulus can be analyzed to predict the system's response to a multitude of other conditions for which individual testing is impractical.
Important in such analyses is the requirement that the spectral distribution of energy in the noise signal be constant throughout the frequency range of interest. If it is not, then subsequent analysis cannot determine whether a system's particularly strong response at one noise frequency was due to a resonance at that frequency or whether the noise signal simply had a local maximum at that frequency component, prompting an exaggerated response. While a noise signal with a uniform spectral power distribution may be simple to conceptualize, it is often not simple to realize.
A common technique for generating relative low frequency noise (as opposed to microwave noise and the like) is to periodically produce a digital random number and convert it into analog form using a digital-to-analog converter (DAC). The analog signal output by the DAC changes at periodic intervals as new random numbers are provided to it, resulting in a time varying "noise" signal. This approach is termed the uniformly distributed digital random number technique.
The periodic operation of this random number generator affects the frequency spectrum of the resulting noise signal. For example, if a new random number is provided to the DAC every four microseconds, the resulting noise signal will have a nominal bandwidth of (1/4 microseconds), or 250 kilohertz. Above 250 kilohertz, the power output by the DAC begins to rolloff more and more. Even below 250 kilohertz, the noise is not perfectly flat but begins to diminish with frequency. These irregularities are due to a phenomenon commonly known as sin(x)/x rolloff, which is present because the random numbers are produced periodically and the analog samples corresponding thereto are held constant for the periodic interval. (Sin(x)/x is the Fourier transform of a constant signal of finite duration.) Elimination of this phenomenon would require that ideal impulses of voltage be output by the DAC, a feat that cannot be realized in practice.
Sin(x)/x rolloff is not entirely disadvantageous. It tends to limit the power of the noise to a certain bandwidth that can be controlled by setting the "sampling frequency" ---- the update rate of the DAC. However, at the corner frequency of the sin(x)/x rolloff (250 kilohertz in the above example), the response of the noise is already several dB down. Ideally, this non-flatness in-band would be limited to less than a dB.
This rolloff problem can be overcome by filtering the noise signal with a filter whose passband characteristics compensates for the sin(x)/x droop, resulting in an approximately flat response over the frequency band of interest. Such filters are termed "prewhitening" filters and are typically implemented in digital form for use in the digital portion of the noise generator.
As is known in the art, digital filters operate by summing a weighted series of data samples. The weighting coefficients are selected to achieve a desired passband characteristic. Unfortunately, digital filters are usually complex and expensive. For example, such a filter must usually perform several multiplication or division operations per cycle to weight the samples in their proper relationship. These operations are computationally intensive and time consuming. Due to the poor performance of conventional microprocessors at these tasks, specialized hardware that has been optimized to execute the filtering operations is usually required. Such specialized hardware is economically impractical to use in many applications, such as in simple noise sources.
The present invention provides the advantages of digital filtering without the usual high cost and complexity. This is accomplished by selecting a filter characteristic that can be implemented without performing any multiplication or division operations.
In particular, the present invention implements a filtering function expressed as 1-z/8, where z represents a single sample delay. The weighting coefficients are thus 1 and 1/8. The "1" coefficient requires no multiplication. Multiplication by the "1/8" coefficient is effected by simply bit shifting the data sample three bits to the right. The subtraction operation is conventional and can be easily effected by a simple CPU. The result is a fast and simple prewhitening filter that can be easily implemented without any custom hardware.
The foregoing and additional features and advantages of the present invention will be more readily apparent from the following detailed description thereof, which proceeds with reference to the accompanying drawings.